Cloud Composer 3 環境を立ち上げてみた(Preview)

Cloud Composer 3 環境を立ち上げてみた(Preview)

Clock Icon2024.07.07

こんにちは!エノカワです。

Cloud Composer は、Apache Airflow で構築されたフルマネージドのワークフローオーケストレーションサービスです。
Apache Airflow のオープンソース プロジェクトを基に構築されており、Python プログラミング言語を使用して動作します。

Cloud Composer 3プレビュー となりました。

We are thrilled to announce the Public Preview launch of the new generation of Cloud Composer, Cloud Composer 3. The new version is now publicly available in all regions supported by Cloud Composer. It comes with a number of new features and characteristics:

  • All infrastructure hidden in a tenant project
  • Evergreen versioning
  • Simplified networking configuration
  • Improved performance
  • More reliable DAG parsing and scheduling as DAG - Processor and Schedulers are now separate components
  • 10 times bigger storage for Airflow workers

As well as most functionalities already known from the previous Composer versions. To see the list of features already supported by Composer 3, see Comparison of Cloud Composer versions.

Cloud Composer 3 では、ネットワーク設定が簡素化され、環境のクラスタや環境の他のサービスへの依存関係などのインフラストラクチャコンポーネントが非表示になるようです。

さっそく Cloud Composer 3 環境を立ち上げてみましたので、確認した内容をご紹介します。

環境作成

Cloud Composer 環境を作成します。

Google Cloud コンソールで Cloud Composer の ページに移動します。

[環境の作成] をクリックするとバージョンのリストが表示されるので、[Composer 3] を選択します。

01_cloud-composer-3-preview

cloud-composer-3という名前で、東京リージョン、最新のイメージバージョンを選択し、サービスアカウントなど他はでデフォルトのままで作成しました。

02_cloud-composer-3-preview

比較用にcloud-composer-2という名前で、バージョンのリストで [Composer 2] を選択した環境も作成しました。

03_cloud-composer-3-preview

作成にかかった時間は、どちらも約20分程度でした。

ネットワークの設定

ネットワークの設定が簡素化されていました。

環境を VPC ネットワークに接続する場合は、[ネットワーク アタッチメント] フィールドでネットワーク アタッチメントを選択します。

04_cloud-composer-3-preview

Cloud Composer 2 では、 GKE クラスタのネットワーク構成を設定する必要がありました。

05_cloud-composer-3-preview

ウェブサーバーのプラグイン

ウェブサーバーのプラグインの設定が追加されていました。

06_cloud-composer-3-preview

環境の Cloud Storage バケットからのプラグインを Airflow ウェブサーバー内で実行することを許可するかどうかを指定します。
後で有効または無効にできます。

その他

Cloud Composer 2 にあった下記の設定項目がなくなっていました。

  • 復元力モード
  • 環境バケット
  • スナップショット スケジュール

Cloud Composer 3 の Preview では未対応のようです。

07_cloud-composer-3-preview

08_cloud-composer-3-preview

09_cloud-composer-3-preview

コンソール画面

コンソール画面のタブは同じでした。

  • モニタリング
  • ログ
  • DAG
  • 環境構成
  • AIRFLOW 構成のオーバーライド
  • 環境変数
  • ラベル
  • PYPI パッケージ

10_cloud-composer-3-preview

11_cloud-composer-3-preview

環境構成

リソース 内の GKE クラスタ の項目が無くなっていました。
Cloud Composer 3 では、環境のクラスタがプロジェクトにデプロイされません。

12_cloud-composer-3-preview

Cloud Composer 2 では、プロジェクトにデプロイされた環境のクラスタへのリンクが表示されています。

13_cloud-composer-3-preview

ログ

インフラストラクチャ関連のログが無くなっていました。

14_cloud-composer-3-preview

15_cloud-composer-3-preview

モニタリング

ユーザー ワークロードのモニタリングが追加されていました。

16_cloud-composer-3-preview

ユーザー ワークロードは、KubernetesPodOperator を使用して実行されるカスタム ワークロードです。

17_cloud-composer-3-preview

概要に Airflow コンポーネント のモニタリングが追加されていました。

18_cloud-composer-3-preview

Cloud Composer 環境で実行されるすべての Airflow コンポーネントのワークロードです。

19_cloud-composer-3-preview

リンクから各ワークロードのモニタリング画面に移動できます。

20_cloud-composer-3-preview

DAG移行

Cloud Composer 2 のDAGを Cloud Composer 3 に移行できるか試してみました。

結論、環境のスナップショットの保存と読み込みでDAGを移行することができました。

以下、実施した手順となります。

スナップショットの保存

cloud-composer-3gcs_to_bigquery_salesというDAGをデプロイした状態です。

21_cloud-composer-3-preview

[スナップショットを保存] をクリックします。

22_cloud-composer-3-preview

設定内容を確認して、[保存] ボタンをクリックします。

23_cloud-composer-3-preview

スナップショットの保存が開始されます。

24_cloud-composer-3-preview

スナップショットの保存が完了しました。
保存先パスをコピーしておきます。

25_cloud-composer-3-preview

スナップショットの読み込み

cloud-composer-2[スナップショットを読み込む] をクリックします。

26_cloud-composer-3-preview

設定画面で先ほどコピーしておいたスナップショットの保存先パスを入力して、[読み込み] ボタンをクリックします。

27_cloud-composer-3-preview

確認画面の内容を確認して、[続行] をクリックします。

28_cloud-composer-3-preview

スナップショットの読み込みが開始されました。

29_cloud-composer-3-preview

スナップショットの読み込み完了後、Airflow UI 画面に移動します。
DAGs にgcs_to_bigquery_salesというDAGが居ました!
cloud-composer-2から移行されていることが確認できました。

30_cloud-composer-3-preview

まとめ

以上、Cloud Composer 3 環境を立ち上げみて確認した内容のご紹介でした。

フルマネージドになったことで、プロジェクト内からGKEクラスタが見えなくなっていました。
また、ネットワーク関連の設定もシンプルになり、利便性が増した印象です。

Preview のため、未対応の機能もありますが、以前の Composer バージョンのほとんどの機能が含まれているということなので、今後のアップデートで対応されていくものと思われます。

パフォーマンス向上や最新バージョンが維持される仕組みも導入されているようで一般提供が待ち遠しいです!

Cloud Composer バージョンの主な違いについては、Comparison of Cloud Composer versionsを参照ください。

参考

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.